package com.ruoyi.management.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.management.pojo.energymeter.EnergyMeterDO;
import com.ruoyi.management.pojo.energymeter.EnergyMeterDTO;
import com.ruoyi.management.pojo.energymeter.EnergyMeterVO;

import java.util.List;

/**
 * 电表型号服务接口
 */
public interface EnergyMeterService {

    /**
     * 根据id查询电表型号
     *
     * @param modelId 电表型号id
     * @return 电表型号信息
     */
    EnergyMeterVO getEnergyMeterById(Long modelId);

    /**
     * 查询所有电表型号
     *
     * @param energyMeterDTO 查询参数
     * @return 电表型号列表
     */
    List<EnergyMeterVO> getEnergyMeterList(EnergyMeterDTO energyMeterDTO);

    /**
     * 分页查询所有电表型号
     *
     * @param energyMeterDTO 查询参数
     * @return 电表型号列表
     */
    Page<EnergyMeterVO> getEnergyMeterPageList(EnergyMeterDTO energyMeterDTO);

    /**
     * 添加电表型号
     *
     * @param energyMeterDTO 电表型号信息
     * @return 添加结果
     */
    EnergyMeterVO addEnergyMeter(EnergyMeterDTO energyMeterDTO);

    /**
     * 修改电表型号
     *
     * @param energyMeterDTO 电表型号信息
     * @return 修改结果
     */
    int updateEnergyMeter(EnergyMeterDTO energyMeterDTO);

    /**
     * 删除电表型号
     *
     * @param modelId 电表型号id
     * @return 删除结果
     */
    int deleteEnergyMeter(Long modelId);
}
